77 research outputs found

    The effects of modularity on effective communication and collaboration

    Get PDF
    In this article we explore the consequences associated with a lack of coordination between the requirements engineering process and the development process. We conduct a detailed case study of an ICT department of a large European bank that develops software using the agile software development method. Our current study reveals that the application of a modular organizational design in a dynamic agile environment has a negative effect on the communication and coordination between members of different modules. More specifically, the modular design creates both a semantic and a pragmatic boundary among members of different modules, which is primarily caused by the fact that modules have differentiated tasks and often misaligned interests

    AOP++: A Generic Aspect-Oriented Programming Framework in C++

    Full text link
    Abstract. This paper presents AOP++, a generic aspect-oriented pro-gramming framework in C++. It successfully incorporates AOP with object-oriented programming as well as generic programming naturally in the framework of standard C++. It innovatively makes use of C++ templates to express pointcut expressions and match join points at com-pile time. It innovatively creates a full-fledged aspect weaver by using template metaprogramming techniques to perform aspect weaving. It is notable that AOP++ itself is written completely in standard C++, and requires no language extensions. With the help of AOP++, C++ programmers can facilitate AOP with only a little effort.

    Process Patterns for Component-Based Software Development

    Full text link
    Abstract. Component-Based Development (CBD) has been broadly used in software development, as it enhances reusability and flexibility, and reduces the costs and risks involved in systems development. It has therefore spawned many widely-used approaches, such as Commercial Off-The-Shelf (COTS) and software product lines. On the other hand, in order to gain a competitive edge, organizations need to define custom processes tailored to fit their specific de-velopment requirements. This has led to the emergence of process patterns and Method Engineering approaches. We propose a set of process patterns commonly encountered in component-based development methodologies. Seven prominent component-based method-ologies have been selected and reviewed, and a set of high-level process patterns recurring in these methodologies have been identified. A generic process framework for component-based development has been proposed based on these process patterns. The process patterns and the generic framework can be used for developing or tailoring a process for producing component-based systems

    A model-based approach for multiple QoS in scheduling: from models to implementation

    Get PDF
    Meeting multiple Quality of Service (QoS) requirements is an important factor in the success of complex software systems. This paper presents an automated, model-based scheduler synthesis approach for scheduling application software tasks to meet multiple QoS requirements. As a first step, it shows how designers can meet deadlock-freedom and timeliness requirements, in a manner that (i) does not over-provision resources, (ii) does not require architectural changes to the system, and that (iii) leaves enough degrees of freedom to pursue further properties. A major benefit of our synthesis methodology is that it increases traceability, by linking each scheduling constraint with a specific pair of QoS property and underlying platform execution model, so as to facilitate the validation of the scheduling constraints and the understanding of the overall system behaviour, required to meet further QoS properties. The paper shows how the methodology is applied in practice and also presents a prototype implementation infrastructure for executing an application on top of common operating systems, without requiring modifications of the latter

    Applying design patterns in the search-based optimization of software product line architectures

    Get PDF
    The design of the product line architecture (PLA) is a difficult activity that can benefit from the application of design patterns and from the use of a search-based optimization approach, which is generally guided by different objectives related, for instance, to cohesion, coupling and PLA extensibility. The use of design patterns for PLAs is a recent research field, not completely explored yet. Some works apply the patterns manually and for a specific domain. Approaches to search-based PLA design do not consider the usage of these patterns. To allow such use, this paper introduces a mutation operator named “Pattern-Driven Mutation Operator” that includes methods to automatically identify suitable scopes and apply the patterns Strategy, Bridge and Mediator with the search-based approach multi-objective optimization approach for PLA. A metamodel is proposed to represent and identify suitable scopes to receive each one of the patterns, avoiding the introduction of architectural anomalies. Empirical results are also presented, showing evidences that the use of the proposed operator produces a greater diversity of solutions and improves the quality of the PLAs obtained in the search-based optimization process, regarding the values of software metrics

    Creativity in Agile Systems Development: A Literature Review

    Full text link
    Proponents of agile methods claim that enabling, fostering and driving creativity is the key motivation that differentiates agile methods from their more traditional, beauraucratic counterparts. However, there is very little rigorous research to support this claim. Like most of their predecessors, the development and promotion of these methods has been almost entirely driven by practitioners and consultants, with little objective validation from the research community. This lack of validation is particularly relevant for SMEs, given that many of their project teams typify the environment to which agile methods are most suited i.e. small, co-located teams with diverse, blended skills in unstructured, sometimes even chaotic surroundings. This paper uses creativity theory as a lens to review the current agile method literature to understand exactly how much we know about the extent to which creativity actually occurs in these agile environments. The study reveals many gaps and conflict of opinion in the body of knowledge in its current state and identifies many avenues for further research

    Trends in Robot Software Domain Engineering

    No full text

    Iterative development/OO

    No full text

    Semantic Web Technologies for the Integration of Learning Tools and Context-Aware Educational Services

    No full text
    Abstract. One of the main software engineers ’ competencies, solving software problems, is most effectively acquired through an active examination of learn-ing resources and work on real-world examples in small development teams. This obviously indicates a need for an integration of several existing learning tools and systems in a common collaborative learning environment, as well as advanced educational services that provide students with right in time advice about learning resources and possible collaboration partners. In this paper, we present how we developed and applied a common ontological foundation for the integration of different existing learning tools and systems in a common learning environment called DEPTHS (Design Patterns Teaching Help System). In addition, we present a set of educational services that leverages semantic rich representation of learning resources and students ’ interaction data to recom-mend resource relevant for students ’ current learning context
    • …
    corecore